package net.vmiranda.jeds.core.usuarios;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import net.vmiranda.jeds.core.jpa.Jpa;

public class UsuariosManager {
	
	
	public Usuario usuario(String usuario,String password){
		
		
		if(usuario == null || usuario.length() == 0){
			//FIXME POR Validate.notnull
		}
		if(password == null || password.length() == 0){
			//FIXME POR Validate.notnull
		}
		Query q = Jpa.getEm().createQuery("SELECT u FROM Usuario u WHERE u.idUsuario = :usuario AND u.password=:password");
		q.setParameter("usuario", usuario);
		q.setParameter("password", password);
		//arreglar no result exception
		Object userEncontrado = q.getSingleResult();
		if(userEncontrado == null ){ return null;}

		return  (Usuario)userEncontrado;		
	}
	
	public List<Usuario> usuarios(){
		Query q = Jpa.getEm().createQuery("SELECT u FROM Usuario u");
		return q.getResultList();
	}

	public Usuario modificar(Usuario u) {
		EntityManager em = Jpa.getEm();
		em.getTransaction().begin();
		Usuario us = em.merge(u);
		em.getTransaction().commit();
		return us;
	}

}
